<!-- /components/custom-section/custom-section.vue -->
<script setup lang="ts">
const sectionProps = withDefaults(defineProps<{
    title?: string,
    showArrow?: boolean,
    customStyle?: object
}>(), {
    title: '',
    showArrow: false,
    // @ts-ignore
    customStyle: {}
})
</script>

<template>
    <view class="custom-section" :style="{ ...sectionProps.customStyle }">
        <view class="custom-section-header">
            <view class="section-header-title">{{ sectionProps.title }}</view>
            <view class="section-header-right">
                <slot name="right" />
                <uni-icons v-if="sectionProps.showArrow" color="#c3c3c5" size="16" type="forward" />
            </view>
        </view>
        <slot />
    </view>
</template>

<style lang="scss">
.custom-section {
    padding: 40rpx 30rpx 30rpx;
    margin-bottom: 20rpx;
    background-color: #fff;
    border-radius: 20rpx;
}

.custom-section-header {
    display: flex;
    justify-content: space-between;
    line-height: 1;
    margin-bottom: 20rpx;
}

.section-header-title {
    font-size: 32rpx;
    color: #333;
}

.section-header-right {
    display: flex;
    align-items: center;
    font-size: 26rpx;
    color: #c3c3c5;
}
</style>